import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

public class Main {


    public static void main(String[] args) {
//
        HashMap<String, String> map = new HashMap<String, String>();
        map.put("张三", "北京");
        map.put("张三", "上海");
        map.get("");
        map.remove("张三");

//        System.out.println("异或运算获取hashCode：" + hash1("张三"));
//        System.out.println("正常获取hashCode：" + hash2("张三"));
//        System.out.println("右移16位：" +  (hash2("张三") >>> 16));
    }

    static int hash1(Object key) {//通过key计算hash值，仅仅是hash值，不是存储位置
        int h;
        return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);//hashcode右移16位
    }

    static int hash2(Object key) {//通过key计算hash值，仅仅是hash值，不是存储位置

        return key.hashCode();
    }


}
